#!/usr/bin/env python
# coding: utf-8

# # jupyter notebook 扩展
# * https://zhuanlan.zhihu.com/p/97394628

# 
# 
# #  jupyter notebook键盘快捷键
# ___
# 
# ## 进入命令模式之后（此时你没有活跃单元），你可以尝试以下快捷键：
# * A 会在活跃单元之上插入一个新的单元，B 会在活跃单元之下插入一个新单元。
# * 连续按两次 D，可以删除一个单元。
# * 撤销被删除的单元，按 Z。
# * Y 会将当前活跃的单元变成一个代码单元。
# * 按住 Shift +上或下箭头可选择多个单元。在多选模式时，按住 Shift + M 可合并你的选择。
# * 按 F 会弹出「查找和替换」菜单。
# ___
# ## 处于编辑模式时（在命令模式时按 Enter 会进入编辑模式），你会发现下列快捷键很有用：
# * Ctrl + Home 到达单元起始位置。
# * Ctrl + S 保存进度。
# * 如之前提到的，Ctrl + Enter 会运行你的整个单元块。
# * Alt + Enter 不止会运行你的单元块，还会在下面添加一个新单元。
# * Ctrl + Shift + F 打开命令面板。
# ___
# ## 建议大家每次课的笔记、代码、课后练习，以每周形式上传github

# # 课程资源介绍
# 
# ## [joyfulpandas]
# 
# -----
# 
# > 1. [joyfulpandas](http://joyfulpandas.datawhale.club/)
# > 2. [学习目录](http://joyfulpandas.datawhale.club/Content/index.html)
# > 3. [线下资源链接](http://joyfulpandas.datawhale.club/pandas%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E5%88%86%E6%9E%90.html)
# > 4. [线上资源阅读-电子书](https://gitee.com/xzhichao/data_analysis/blob/master/%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%BA%90/joyfulpandas.pdf)
# > 5. 代码资源
# >> 1. [代码资源1](http://joyfulpandas.datawhale.club/Content/index.html)
# >> 2. [代码资源2-含data-source](https://github.com/datawhalechina/joyful-pandas)
# 
# ## [pandas]
# 
# -----
# 
# > 1. [pandas cheat sheet 查询表](https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf)
# > 2. [pandas Getting started](https://pandas.pydata.org/getting_started.html)
# >> 1. 环境搭建
# >> 2. [Tutorials](https://jupyterlab.readthedocs.io/en/stable/user/interface.html)
# >> 3. [Books](https://amzn.to/3DyLaJc)
# >> 4. [Videos资源](https://jupyterlab.readthedocs.io/en/stable/user/interface.html)
# 
# ## [JupyterLab]
# 
# > 1. focused on interactive
# > 2. focused on exploratory computing.

# ----
# # Python 基础回顾（预备知识）

# ## 列表推导式与条件赋值

# In[4]:


student_index = [1000001,1000002,1000003,1000004,1000005,1000006]


# In[11]:





# In[ ]:


# 需求： 学号 奇数先筛选出来


# In[15]:


奇数_students = []
for i in student_index:
    if i%2 != 0:
        奇数_students.append(i)


# In[16]:


奇数_students


# In[20]:


# 列表推导式---> [结果变量  for循环 循环体]  ==> 一切的循环都可以用推导式来写
奇数_students = [i for i in student_index if i%2 !=0] 
奇数_students 


# In[24]:


# 课本的例子
results = [m+'_'+n for m in ['a','b'] for n in ['c','d']] 
results 


# In[25]:


results = []
for m in ['a','b']:
    for n in ['c','d']:
        results.append(m+'_'+n) 


# In[26]:


results 


# ## 匿名函数与 map 方法

# In[ ]:





# ## zip 对象与 enumerate 方法

# In[ ]:





# ## Numpy基础（略，有兴趣的同学可自学加强）

# In[ ]:





# # 文件的读取和写入（P27）
# ![image](img/02_io_readwrite.svg)
# 
# > 1. csv
# > 2. excel
# > 3. txt

# In[27]:


import pandas as pd


# In[32]:


pd.read_html('https://hurun.net/zh-CN/Info/Detail?num=L9SQPH9FKJB1')[0]


# In[33]:


pd.read_html('https://hurun.net/zh-CN/Info/Detail?num=L9SQPH9FKJB1')[0].to_excel('output_hurun.xlsx')


# In[ ]:





# In[2]:


list(map(lambda x: 2*x,range(5)))


# In[ ]:





# In[ ]:





# # 基本的数据结构（P31）
# 
# ![series](img/01_table_series.svg)
# 
# ![df](img/01_table_dataframe.svg)

# In[ ]:





# In[1]:


import pandas as pd


# In[6]:


pd.read_html('https://www.hurun.net/zh-CN/Info/Detail?num=Q9M3TQXA81M9')[0]


# In[ ]:





# In[ ]:





# In[ ]:




